#include"pthread_Pool_V4.hpp"
#include<memory>

typedef wbj::Task<int> type;

void callBack(type& task)
{
    std::string ret=task.getResult();

    std::cout<<"计算结果为："<<ret;
}

int main()
{
    
    // 还有后续动作
    while(true)
    {
        // 输入 操作数 操作数 操作符
        int x = 0, y = 0;
        char op = '+';
        std::cout << "输入 x: ";
        std::cin >> x;
        std::cout << "输入 y: ";
        std::cin >> y;
        std::cout << "输入 op: ";
        std::cin >> op;

        // 构建任务对象
        type task(x, y, op);

        // 装载任务
        wbj::ThreadPool<type>::getInstance(callBack)->pushTask(task);

    }
    return 0;
}